def bubble_sort(arr):
    """
    冒泡排序算法实现。
    该函数对输入的列表 arr 进行排序，并返回排序后的列表。
    排序过程会直接修改原列表。
    """
    n = len(arr)  # 获取列表长度
    # 外层循环控制排序的轮数
    for i in range(n):
        # 内层循环进行相邻元素的比较和交换
        # 每完成一轮，最大的元素会“冒泡”到未排序部分的末尾
        for j in range(0, n - i - 1):
            # 如果前一个元素比后一个元素大，则交换它们
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
    return arr  # 返回排序后的列表

if __name__ == "__main__":
    test_list = [64, 34, 25, 12, 22, 11, 90]
    print("原始列表:", test_list)
    sorted_list = bubble_sort(test_list.copy())
    print("排序后列表:", sorted_list) 
    